package com.battle.service.service.in;

import nirvana.core.domains.vo.PageResult;
import com.battle.pojo.param.trainingSolo.*;
import com.battle.pojo.vo.trainingSolo.*;

import java.util.List;


/**
 * 【描 述】：单人训练服务
 * 【环 境】：J2SE
 * 【详 细】：
 */
public interface TrainingSoloService {

    /**
     * 创建单人训练
     *
     * @param param
     */
    void createTrainingSolo(CreateTrainingSoloParam param);

    /**
     * 修改单人训练
     *
     * @param param
     */
    void editTrainingSolo(EditTrainingSoloParam param);

    /**
     * 移除单人训练
     *
     * @param id
     */
    void removeTrainingSolo(Long id);

    /**
     * 启动/禁用单人训练
     *
     * @param id
     */
    void enabledTrainingSolo(Long id);

    /**
     * 获取单人训练详情
     *
     * @param id
     * @return
     */
    GetTrainingSoloVo getTrainingSolo(Long id);

    /**
     * 获取单人训练列表
     *
     * @param param
     * @return
     */
    PageResult<GetTrainingSoloListVo> getTrainingSoloList(GetTrainingSoloListParam param);


    /**
     * 获取单人训练下拉列表
     *
     * @param param
     * @return
     */
    List<GetTrainingSoloDownListVo> getTrainingSoloDownList(GetTrainingSoloDownListParam param);

    /**
     * 根据人员id获取训练统计数量
     * @param personId
     * @return
     */
    GetTrainingNumberVo getTrainingNumber(Long personId);

}